package com.aidex.system.domain;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.aidex.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aidex.common.utils.log.annotation.FieldRemark;
import com.aidex.common.utils.log.annotation.LogField;
import com.aidex.common.annotation.Excel;

/**
 * 病人管理对象 pacient
 * @author yang
 * @email 33732992@qq.com
 * @date 2024-04-02
 */
@Data
public class Pacient extends BaseEntity<Pacient>
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @Excel(name = "${comment}")
    @LogField
    @FieldRemark(name = "$comment",field = "ind")
    private Long ind;

    /** $column.columnComment */
    @Excel(name = "${comment}")
    @LogField
    @FieldRemark(name = "$comment",field = "inddoc")
    private Long inddoc;

    /** 姓名 */
    @Excel(name = "姓名")
    @NotBlank(message = "姓名不允许为空")
    @LogField
    @FieldRemark(name = "姓名",field = "name")
    private String name;

    /** 第一人名 */
    @Excel(name = "第一人名")
    @LogField
    @FieldRemark(name = "第一人名",field = "firstname")
    private String firstname;

    /** 第二人名 */
    @Excel(name = "第二人名")
    @LogField
    @FieldRemark(name = "第二人名",field = "patname")
    private String patname;

    /** 地址 */
    @Excel(name = "地址")
    @LogField
    @FieldRemark(name = "地址",field = "address")
    private String address;

    /** 性别 */
    @Excel(name = "性别")
    @LogField
    @FieldRemark(name = "性别",field = "pol")
    private String pol;

    /** 电话 */
    @LogField
    @FieldRemark(name = "电话",field = "phone")
    private String phone;

    /** 年龄 */
    @LogField
    @FieldRemark(name = "年龄",field = "comment")
    private String comment;

    /** $column.columnComment */
    @LogField
    @FieldRemark(name = "$comment",field = "age")
    private Long age;

    /** $column.columnComment */
    private String epicrisis;

    /** $column.columnComment */
    private String sample;

    /** $column.columnComment */
    private String learn;

    /** $column.columnComment */
    private Long modeldisp;

    /** $column.columnComment */
    private Long modelcount;

    /** $column.columnComment */
    private Long bloodgroup;

    /** $column.columnComment */
    private Long rhesus;

    /** $column.columnComment */
    private String bindata;

    /** $column.columnComment */
    private String photo;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @LogField
    @FieldRemark(name = "$comment",field = "birthdate")
    private Date birthdate;

    /** $column.columnComment开始 */
    private String beginBirthdate;

    /** $column.columnComment结束 */
    private String endBirthdate;
	
    /** 性别 */
    @LogField
    @FieldRemark(name = "性别",field = "sex")
    private Long sex;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastdateage;

    /** $column.columnComment开始 */
    private String beginLastdateage;

    /** $column.columnComment结束 */
    private String endLastdateage;
	
    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastdateseason;

    /** $column.columnComment开始 */
    private String beginLastdateseason;

    /** $column.columnComment结束 */
    private String endLastdateseason;
	
    /** $column.columnComment */
    private String stressstore;

    /** $column.columnComment */
    private String guid;

    /** $column.columnComment */
    @LogField
    @FieldRemark(name = "$comment",field = "clientid")
    private Long clientid;

    /** 最后登录IP */
    @LogField
    @FieldRemark(name = "最后登录IP",field = "loginIp")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @LogField
    @FieldRemark(name = "最后登录时间",field = "loginDate")
    private Date loginDate;

    /** 最后登录时间开始 */
    private String beginLoginDate;

    /** 最后登录时间结束 */
    private String endLoginDate;
	
    public void setInd(Long ind) 
    {
        this.ind = ind;
    }

    public Long getInd() 
    {
        return ind;
    }

    public void setInddoc(Long inddoc) 
    {
        this.inddoc = inddoc;
    }

    public Long getInddoc() 
    {
        return inddoc;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setFirstname(String firstname) 
    {
        this.firstname = firstname;
    }

    public String getFirstname() 
    {
        return firstname;
    }

    public void setPatname(String patname) 
    {
        this.patname = patname;
    }

    public String getPatname() 
    {
        return patname;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setPol(String pol) 
    {
        this.pol = pol;
    }

    public String getPol() 
    {
        return pol;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setComment(String comment) 
    {
        this.comment = comment;
    }

    public String getComment() 
    {
        return comment;
    }

    public void setAge(Long age) 
    {
        this.age = age;
    }

    public Long getAge() 
    {
        return age;
    }

    public void setEpicrisis(String epicrisis) 
    {
        this.epicrisis = epicrisis;
    }

    public String getEpicrisis() 
    {
        return epicrisis;
    }

    public void setSample(String sample) 
    {
        this.sample = sample;
    }

    public String getSample() 
    {
        return sample;
    }

    public void setLearn(String learn) 
    {
        this.learn = learn;
    }

    public String getLearn() 
    {
        return learn;
    }

    public void setModeldisp(Long modeldisp) 
    {
        this.modeldisp = modeldisp;
    }

    public Long getModeldisp() 
    {
        return modeldisp;
    }

    public void setModelcount(Long modelcount) 
    {
        this.modelcount = modelcount;
    }

    public Long getModelcount() 
    {
        return modelcount;
    }

    public void setBloodgroup(Long bloodgroup) 
    {
        this.bloodgroup = bloodgroup;
    }

    public Long getBloodgroup() 
    {
        return bloodgroup;
    }

    public void setRhesus(Long rhesus) 
    {
        this.rhesus = rhesus;
    }

    public Long getRhesus() 
    {
        return rhesus;
    }

    public void setBindata(String bindata) 
    {
        this.bindata = bindata;
    }

    public String getBindata() 
    {
        return bindata;
    }

    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }

    public void setBirthdate(Date birthdate) 
    {
        this.birthdate = birthdate;
    }

    public Date getBirthdate() 
    {
        return birthdate;
    }

    public void setSex(Long sex) 
    {
        this.sex = sex;
    }

    public Long getSex() 
    {
        return sex;
    }

    public void setLastdateage(Date lastdateage) 
    {
        this.lastdateage = lastdateage;
    }

    public Date getLastdateage() 
    {
        return lastdateage;
    }

    public void setLastdateseason(Date lastdateseason) 
    {
        this.lastdateseason = lastdateseason;
    }

    public Date getLastdateseason() 
    {
        return lastdateseason;
    }

    public void setStressstore(String stressstore) 
    {
        this.stressstore = stressstore;
    }

    public String getStressstore() 
    {
        return stressstore;
    }

    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }

    public void setClientid(Long clientid) 
    {
        this.clientid = clientid;
    }

    public Long getClientid() 
    {
        return clientid;
    }

    public void setLoginIp(String loginIp) 
    {
        this.loginIp = loginIp;
    }

    public String getLoginIp() 
    {
        return loginIp;
    }

    public void setLoginDate(Date loginDate) 
    {
        this.loginDate = loginDate;
    }

    public Date getLoginDate() 
    {
        return loginDate;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ind", getInd())
            .append("inddoc", getInddoc())
            .append("name", getName())
            .append("firstname", getFirstname())
            .append("patname", getPatname())
            .append("address", getAddress())
            .append("pol", getPol())
            .append("phone", getPhone())
            .append("comment", getComment())
            .append("age", getAge())
            .append("epicrisis", getEpicrisis())
            .append("sample", getSample())
            .append("learn", getLearn())
            .append("modeldisp", getModeldisp())
            .append("modelcount", getModelcount())
            .append("bloodgroup", getBloodgroup())
            .append("rhesus", getRhesus())
            .append("bindata", getBindata())
            .append("photo", getPhoto())
            .append("birthdate", getBirthdate())
            .append("sex", getSex())
            .append("lastdateage", getLastdateage())
            .append("lastdateseason", getLastdateseason())
            .append("stressstore", getStressstore())
            .append("guid", getGuid())
            .append("clientid", getClientid())
            .append("loginIp", getLoginIp())
            .append("loginDate", getLoginDate())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
